<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>setuid</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font></center><hr size=2 noshade>
<h4><a name = "tag_000_008_504">&nbsp;</a>NAME</h4><blockquote>
setuid - set-user-ID
</blockquote><h4><a name = "tag_000_008_505">&nbsp;</a>SYNOPSIS</h4><blockquote>
<pre><code>

#include &lt;<a href="systypes.h.html">sys/types.h</a>&gt;
#include &lt;<a href="unistd.h.html">unistd.h</a>&gt;

int setuid(uid_t <i>uid</i>);
</code>
</pre>
</blockquote><h4><a name = "tag_000_008_506">&nbsp;</a>DESCRIPTION</h4><blockquote>
If the process has appropriate privileges,
<i>setuid()</i>
sets the real user ID, effective user ID,
and the saved set-user-ID
to
<i>uid</i>.
<p>
If the process does not have appropriate privileges, but
<i>uid</i>
is equal to the real user ID
or the saved set-user-ID,
<i>setuid()</i>
sets the effective user ID to
<i>uid</i>;
the real user ID
and saved set-user-ID
remain unchanged.
</blockquote><h4><a name = "tag_000_008_507">&nbsp;</a>RETURN VALUE</h4><blockquote>
Upon successful completion, 0 is returned.  Otherwise, -1 is returned and
<i>errno</i>
is set to indicate the error.
</blockquote><h4><a name = "tag_000_008_508">&nbsp;</a>ERRORS</h4><blockquote>
The
<i>setuid()</i>
function will fail and return -1 and set
<i>errno</i>
to the corresponding value
if one or more of the following are true:
<dl compact>

<dt>[EINVAL]<dd>
The value of the
<i>uid</i>
argument is invalid and not supported by the implementation.

<dt>[EPERM]<dd>
The process does not have appropriate privileges and
<i>uid</i>
does not match the real user ID
&nbsp;or the saved set-user-ID.

</dl>
</blockquote><h4><a name = "tag_000_008_509">&nbsp;</a>EXAMPLES</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_008_510">&nbsp;</a>APPLICATION USAGE</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_008_511">&nbsp;</a>FUTURE DIRECTIONS</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_008_512">&nbsp;</a>SEE ALSO</h4><blockquote>
<i><a href="exec.html">exec</a></i>,
<i><a href="geteuid.html">geteuid()</a></i>,
<i><a href="getuid.html">getuid()</a></i>,
<i><a href="setgid.html">setgid()</a></i>,
<i><a href="systypes.h.html">&lt;sys/types.h&gt;</a></i>,
<i><a href="unistd.h.html">&lt;unistd.h&gt;</a></i>.
</blockquote><h4>DERIVATION</h4><blockquote>
Derived from Issue 1 of the SVID.
</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>

